// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved


using System;
using System.Collections.Generic;
using AdventureWorks.WebServices.Models;
using System.Linq;

namespace AdventureWorks.WebServices.Repositories
{
    public class ProductRepository : IProductRepository
    {
        private static string ImageServerPath = System.Configuration.ConfigurationManager.AppSettings["ImageServerPath"];
        private static ICollection<Product> _products = PopulateProducts();

        private static IEnumerable<Product> _todaysDealsProducts = GetTodaysDeals();

        public IEnumerable<Product> GetProducts()
        {
            lock (_products)
            {
                // Return new collection so callers can iterate independently on separate threads
                return _products.ToArray();
            }
        }

        public IEnumerable<Product> GetProductsForCategory(int subcategoryId)
        {
            lock (_products)
            {
                return _products.Where(p => p.SubcategoryId == subcategoryId).ToArray();
            }
        }

        public IEnumerable<Product> GetTodaysDealsProducts()
        {
            lock (_todaysDealsProducts)
            {
                return _todaysDealsProducts.ToArray();
            }
        }

        public Product GetProduct(string productNumber)
        {
            lock (_products)
            {
                return _products.FirstOrDefault(c => c.ProductNumber == productNumber);
            }
        }

        private static ICollection<Product> PopulateProducts()
        {
            var products = new List<Product>();
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Red, 40", ProductNumber="BK-M18S-40", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=564.9900, Weight=27.35, Color="Silver", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Red, 42", ProductNumber="BK-M18S-42", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=564.9900, Weight=27.77, Color="Silver", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Red, 44", ProductNumber="BK-M18S-44", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=564.9900, Weight=28.13, Color="Silver", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Red, 48", ProductNumber="BK-M18S-48", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=564.9900, Weight=28.42, Color="Silver", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Red, 52", ProductNumber="BK-M18S-52", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=564.9900, Weight=28.68, Color="Silver", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Black, 40", ProductNumber="BK-M18B-40", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=539.9900, Weight=27.35, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Black, 42", ProductNumber="BK-M18B-42", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=539.9900, Weight=27.77, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Black, 44", ProductNumber="BK-M18B-44", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=539.9900, Weight=28.13, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Black, 48", ProductNumber="BK-M18B-48", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=539.9900, Weight=28.42, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-500 Black, 52", ProductNumber="BK-M18B-52", SubcategoryId=1, Description="Suitable for any type of riding, on or off-road. Fits any budget. Smooth-shifting with a comfortable ride.", ListPrice=539.9900, Weight=28.68, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-400-W Red, 42", ProductNumber="BK-M38S-42", SubcategoryId=1, Description="This bike delivers a high-level of performance on a budget. It is responsive and maneuverable, and offers peace-of-mind when you decide to go off-road.", ListPrice=769.4900, DiscountPercentage = 25, Weight=27.13, Color="Silver", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-400-W Red, 46", ProductNumber="BK-M38S-46", SubcategoryId=1, Description="This bike delivers a high-level of performance on a budget. It is responsive and maneuverable, and offers peace-of-mind when you decide to go off-road.", ListPrice=769.4900, Weight=27.42, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-400-W Red, 38", ProductNumber="BK-M38S-38", SubcategoryId=1, Description="This bike delivers a high-level of performance on a budget. It is responsive and maneuverable, and offers peace-of-mind when you decide to go off-road.", ListPrice=769.4900, Weight=26.35, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-400-W Red, 40", ProductNumber="BK-M38S-40", SubcategoryId=1, Description="This bike delivers a high-level of performance on a budget. It is responsive and maneuverable, and offers peace-of-mind when you decide to go off-road.", ListPrice=769.4900, Weight=26.77, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-300 Black, 38", ProductNumber="BK-M47B-38", SubcategoryId=1, Description="For true trail addicts.  An extremely durable bike that will go anywhere and keep you in control on challenging terrain - without breaking your budget.", ListPrice=1079.9900, Weight=25.35, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-300 Black, 40", ProductNumber="BK-M47B-40", SubcategoryId=1, Description="For true trail addicts.  An extremely durable bike that will go anywhere and keep you in control on challenging terrain - without breaking your budget.", ListPrice=1079.9900, Weight=25.77, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-300 Black, 48", ProductNumber="BK-M47B-48", SubcategoryId=1, Description="For true trail addicts.  An extremely durable bike that will go anywhere and keep you in control on challenging terrain - without breaking your budget.", ListPrice=1079.9900, Weight=26.42, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-200 Red, 38", ProductNumber="BK-M68S-38", SubcategoryId=1, Description="Serious back-country riding. Perfect for all levels of competition. Uses the same HL Frame as the Mountain-100.", ListPrice=2319.9900, Weight=23.35, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-200 Red, 42", ProductNumber="BK-M68S-42", SubcategoryId=1, Description="Serious back-country riding. Perfect for all levels of competition. Uses the same HL Frame as the Mountain-100.", ListPrice=2319.9900, Weight=23.77, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-200 Red, 46", ProductNumber="BK-M68S-46", SubcategoryId=1, Description="Serious back-country riding. Perfect for all levels of competition. Uses the same HL Frame as the Mountain-100.", ListPrice=2319.9900, Weight=24.13, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-200 Black, 38", ProductNumber="BK-M68B-38", SubcategoryId=1, Description="Serious back-country riding. Perfect for all levels of competition. Uses the same HL Frame as the Mountain-100.", ListPrice=2294.9900, Weight=23.35, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-200 Black, 42", ProductNumber="BK-M68B-42", SubcategoryId=1, Description="Serious back-country riding. Perfect for all levels of competition. Uses the same HL Frame as the Mountain-100.", ListPrice=2294.9900, Weight=23.77, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-200 Black, 46", ProductNumber="BK-M68B-46", SubcategoryId=1, Description="Serious back-country riding. Perfect for all levels of competition. Uses the same HL Frame as the Mountain-100.", ListPrice=2294.9900, Weight=24.13, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Red, 38", ProductNumber="BK-M82S-38", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3399.9900, Weight=20.35, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Red, 42", ProductNumber="BK-M82S-42", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3399.9900, Weight=20.77, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Red, 44", ProductNumber="BK-M82S-44", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3399.9900, Weight=21.13, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Red, 48", ProductNumber="BK-M82S-48", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3399.9900, Weight=21.42, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrodbike_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Black, 38", ProductNumber="BK-M82B-38", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3374.9900, Weight=20.35, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Black, 42", ProductNumber="BK-M82B-42", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3374.9900, Weight=20.77, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Black, 44", ProductNumber="BK-M82B-44", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3374.9900, Weight=21.13, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Mountain-100 Black, 48", ProductNumber="BK-M82B-48", SubcategoryId=1, Description="Top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain.", ListPrice=3374.9900, Weight=21.42, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrodbike_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-750 Black, 58", ProductNumber="BK-R19B-58", SubcategoryId=2, Description="Entry level adult bike; offers a comfortable ride cross-country or down the block. Quick-release hubs and rims.", ListPrice=539.9900, Weight=20.79, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-750 Black, 44", ProductNumber="BK-R19B-44", SubcategoryId=2, Description="Entry level adult bike; offers a comfortable ride cross-country or down the block. Quick-release hubs and rims.", ListPrice=539.9900, Weight=19.77, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-750 Black, 48", ProductNumber="BK-R19B-48", SubcategoryId=2, Description="Entry level adult bike; offers a comfortable ride cross-country or down the block. Quick-release hubs and rims.", ListPrice=539.9900, Weight=20.13, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-750 Black, 52", ProductNumber="BK-R19B-52", SubcategoryId=2, Description="Entry level adult bike; offers a comfortable ride cross-country or down the block. Quick-release hubs and rims.", ListPrice=539.9900, Weight=20.42, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Red, 58", ProductNumber="BK-R50R-58", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.79, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Red, 60", ProductNumber="BK-R50R-60", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.90, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Red, 62", ProductNumber="BK-R50R-62", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=20.00, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Red, 44", ProductNumber="BK-R50R-44", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=18.77, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Red, 48", ProductNumber="BK-R50R-48", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.13, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Red, 52", ProductNumber="BK-R50R-52", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.42, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Black, 58", ProductNumber="BK-R50B-58", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.79, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Black, 60", ProductNumber="BK-R50B-60", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.90, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Black, 62", ProductNumber="BK-R50B-62", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=20.00, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Black, 44", ProductNumber="BK-R50B-44", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=18.77, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Black, 48", ProductNumber="BK-R50B-48", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.13, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-650 Black, 52", ProductNumber="BK-R50B-52", SubcategoryId=2, Description="Value-priced bike with many features of our top-of-the-line models. Has the same light, stiff frame, and the quick acceleration we're famous for.", ListPrice=782.9900, Weight=19.42, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-550-W Yellow, 38", ProductNumber="BK-R64Y-38", SubcategoryId=2, Description="Same technology as all of our Road series bikes, but the frame is sized for a woman.  Perfect all-around bike for road or racing.", ListPrice=1120.4900, Weight=17.35, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-550-W Yellow, 40", ProductNumber="BK-R64Y-40", SubcategoryId=2, Description="Same technology as all of our Road series bikes, but the frame is sized for a woman.  Perfect all-around bike for road or racing.", ListPrice=1120.4900, Weight=17.77, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-550-W Yellow, 42", ProductNumber="BK-R64Y-42", SubcategoryId=2, Description="Same technology as all of our Road series bikes, but the frame is sized for a woman.  Perfect all-around bike for road or racing.", ListPrice=1120.4900, Weight=18.13, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-550-W Yellow, 44", ProductNumber="BK-R64Y-44", SubcategoryId=2, Description="Same technology as all of our Road series bikes, but the frame is sized for a woman.  Perfect all-around bike for road or racing.", ListPrice=1120.4900, Weight=18.42, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-550-W Yellow, 48", ProductNumber="BK-R64Y-48", SubcategoryId=2, Description="Same technology as all of our Road series bikes, but the frame is sized for a woman.  Perfect all-around bike for road or racing.", ListPrice=1120.4900, Weight=18.68, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-450 Red, 58", ProductNumber="BK-R68R-58", SubcategoryId=2, Description="A true multi-sport bike that offers streamlined riding and a revolutionary design. Aerodynamic design lets you ride with the pros, and the gearing will conquer hilly roads.", ListPrice=1457.9900, Weight=17.79, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-450 Red, 60", ProductNumber="BK-R68R-60", SubcategoryId=2, Description="A true multi-sport bike that offers streamlined riding and a revolutionary design. Aerodynamic design lets you ride with the pros, and the gearing will conquer hilly roads.", ListPrice=1457.9900, Weight=17.90, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-450 Red, 44", ProductNumber="BK-R68R-44", SubcategoryId=2, Description="A true multi-sport bike that offers streamlined riding and a revolutionary design. Aerodynamic design lets you ride with the pros, and the gearing will conquer hilly roads.", ListPrice=1457.9900, Weight=16.77, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-450 Red, 48", ProductNumber="BK-R68R-48", SubcategoryId=2, Description="A true multi-sport bike that offers streamlined riding and a revolutionary design. Aerodynamic design lets you ride with the pros, and the gearing will conquer hilly roads.", ListPrice=1457.9900, Weight=17.13, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-450 Red, 52", ProductNumber="BK-R68R-52", SubcategoryId=2, Description="A true multi-sport bike that offers streamlined riding and a revolutionary design. Aerodynamic design lets you ride with the pros, and the gearing will conquer hilly roads.", ListPrice=1457.9900, Weight=17.42, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-350-W Yellow, 40", ProductNumber="BK-R79Y-40", SubcategoryId=2, Description="Cross-train, race, or just socialize on a sleek, aerodynamic bike designed for a woman.  Advanced seat technology provides comfort all day.", ListPrice=1700.9900, Weight=15.35, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-350-W Yellow, 42", ProductNumber="BK-R79Y-42", SubcategoryId=2, Description="Cross-train, race, or just socialize on a sleek, aerodynamic bike designed for a woman.  Advanced seat technology provides comfort all day.", ListPrice=1700.9900, Weight=15.77, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-350-W Yellow, 44", ProductNumber="BK-R79Y-44", SubcategoryId=2, Description="Cross-train, race, or just socialize on a sleek, aerodynamic bike designed for a woman.  Advanced seat technology provides comfort all day.", ListPrice=1700.9900, Weight=16.13, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-350-W Yellow, 48", ProductNumber="BK-R79Y-48", SubcategoryId=2, Description="Cross-train, race, or just socialize on a sleek, aerodynamic bike designed for a woman.  Advanced seat technology provides comfort all day.", ListPrice=1700.9900, Weight=16.42, Color="Yellow", ImageUri = new Uri(ImageServerPath + "roadster_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Red, 44", ProductNumber="BK-R89R-44", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=14.77, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Red, 48", ProductNumber="BK-R89R-48", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=15.13, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Red, 52", ProductNumber="BK-R89R-52", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=15.42, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Red, 58", ProductNumber="BK-R89R-58", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=15.79, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Black, 44", ProductNumber="BK-R89B-44", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=14.77, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Black, 48", ProductNumber="BK-R89B-48", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=15.13, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Black, 52", ProductNumber="BK-R89B-52", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=15.42, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-250 Black, 58", ProductNumber="BK-R89B-58", SubcategoryId=2, Description="Alluminum-alloy frame provides a light, stiff ride, whether you are racing in the velodrome or on a demanding club ride on country roads.", ListPrice=2443.3500, Weight=15.68, Color="Black", ImageUri = new Uri(ImageServerPath + "roadster_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-150 Red, 62", ProductNumber="BK-R93R-62", SubcategoryId=2, Description="This bike is ridden by race winners. Developed with the Adventure Works Cycles professional race team, it has a extremely light heat-treated aluminum frame, and steering that allows precision control.", ListPrice=3578.2700, Weight=15.00, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-150 Red, 44", ProductNumber="BK-R93R-44", SubcategoryId=2, Description="This bike is ridden by race winners. Developed with the Adventure Works Cycles professional race team, it has a extremely light heat-treated aluminum frame, and steering that allows precision control.", ListPrice=3578.2700, Weight=13.77, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-150 Red, 48", ProductNumber="BK-R93R-48", SubcategoryId=2, Description="This bike is ridden by race winners. Developed with the Adventure Works Cycles professional race team, it has a extremely light heat-treated aluminum frame, and steering that allows precision control.", ListPrice=3578.2700, Weight=14.13, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-150 Red, 52", ProductNumber="BK-R93R-52", SubcategoryId=2, Description="This bike is ridden by race winners. Developed with the Adventure Works Cycles professional race team, it has a extremely light heat-treated aluminum frame, and steering that allows precision control.", ListPrice=3578.2700, Weight=14.42, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road-150 Red, 56", ProductNumber="BK-R93R-56", SubcategoryId=2, Description="This bike is ridden by race winners. Developed with the Adventure Works Cycles professional race team, it has a extremely light heat-treated aluminum frame, and steering that allows precision control.", ListPrice=3578.2700, Weight=14.68, Color="Red", ImageUri = new Uri(ImageServerPath + "roadster_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Blue, 54", ProductNumber="BK-T18U-54", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=29.68, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Blue, 58", ProductNumber="BK-T18U-58", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=29.90, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Blue, 62", ProductNumber="BK-T18U-62", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=30.00, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Yellow, 44", ProductNumber="BK-T18Y-44", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=28.77, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Yellow, 50", ProductNumber="BK-T18Y-50", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=29.13, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Yellow, 54", ProductNumber="BK-T18Y-54", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=29.42, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Yellow, 58", ProductNumber="BK-T18Y-58", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=29.79, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Yellow, 62", ProductNumber="BK-T18Y-62", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=30.00, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Blue, 44", ProductNumber="BK-T18U-44", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=28.77, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-3000 Blue, 50", ProductNumber="BK-T18U-50", SubcategoryId=3, Description="All-occasion value bike with our basic comfort and safety features. Offers wider, more stable tires for a ride around town or weekend trip.", ListPrice=742.3500, Weight=29.13, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-2000 Blue, 60", ProductNumber="BK-T44U-60", SubcategoryId=3, Description="The plush custom saddle keeps you riding all day,  and there's plenty of space to add panniers and bike bags to the newly-redesigned carrier.  This bike has stability when fully-loaded.", ListPrice=1214.8500, Weight=27.90, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-2000 Blue, 46", ProductNumber="BK-T44U-46", SubcategoryId=3, Description="The plush custom saddle keeps you riding all day,  and there's plenty of space to add panniers and bike bags to the newly-redesigned carrier.  This bike has stability when fully-loaded.", ListPrice=1214.8500, Weight=27.13, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-2000 Blue, 50", ProductNumber="BK-T44U-50", SubcategoryId=3, Description="The plush custom saddle keeps you riding all day,  and there's plenty of space to add panniers and bike bags to the newly-redesigned carrier.  This bike has stability when fully-loaded.", ListPrice=1214.8500, Weight=27.42, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-2000 Blue, 54", ProductNumber="BK-T44U-54", SubcategoryId=3, Description="The plush custom saddle keeps you riding all day,  and there's plenty of space to add panniers and bike bags to the newly-redesigned carrier.  This bike has stability when fully-loaded.", ListPrice=1214.8500, Weight=27.68, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Yellow, 46", ProductNumber="BK-T79Y-46", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.13, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Yellow, 50", ProductNumber="BK-T79Y-50", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.42, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Yellow, 54", ProductNumber="BK-T79Y-54", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.68, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Yellow, 60", ProductNumber="BK-T79Y-60", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.90, Color="Yellow", ImageUri = new Uri(ImageServerPath + "julianax_r_02_yellow_large.jpg ")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Blue, 46", ProductNumber="BK-T79U-46", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.13, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Blue, 50", ProductNumber="BK-T79U-50", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.42, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Blue, 54", ProductNumber="BK-T79U-54", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.68, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-1000 Blue, 60", ProductNumber="BK-T79U-60", SubcategoryId=3, Description="Travel in style and comfort. Designed for maximum comfort and safety. Wide gear range takes on all hills. High-tech aluminum alloy construction provides durability without added weight.", ListPrice=2384.0700, Weight=25.90, Color="Blue", ImageUri = new Uri(ImageServerPath + "julianax_r_02_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Chain", ProductNumber="CH-0234", SubcategoryId=7, Description="Superior shifting performance.", ListPrice=20.2400, Weight=0, Color="Silver", ImageUri = new Uri(ImageServerPath + "chain_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Crankset", ProductNumber="CS-4759", SubcategoryId=8, Description="Super rigid spindle.", ListPrice=175.4900, Weight=600.00, Color="Black", ImageUri = new Uri(ImageServerPath + "crankset.jpg")});
            products.Add(new Product { Currency = "USD", Title = "ML Crankset", ProductNumber = "CS-6583", SubcategoryId = 8, Description = "High-strength crank arm.", ListPrice = 256.4900, Weight = 635.00, Color = "Black", ImageUri = new Uri(ImageServerPath + "crankset.jpg") });
            products.Add(new Product { Currency = "USD", Title = "HL Crankset", ProductNumber = "CS-9183", SubcategoryId = 8, Description = "Triple crankset; alumunim crank arm; flawless shifting.", ListPrice = 404.9900, Weight = 575.00, Color = "Black", ImageUri = new Uri(ImageServerPath + "crankset.jpg") });
            products.Add(new Product { Currency="USD", Title = "Front Brakes", ProductNumber="FB-9873", SubcategoryId=6, Description="All-weather brake pads; provides superior stopping by applying more surface to the rim.", ListPrice=106.5000, Weight=317.00, Color="Silver", ImageUri = new Uri(ImageServerPath + "front_brakes.jpg")});
            products.Add(new Product { Currency="USD", Title = "Front Derailleur", ProductNumber="FD-2342", SubcategoryId=9, Description="Wide-link design.", ListPrice=91.4900, Weight=88.00, Color="Silver", ImageUri = new Uri(ImageServerPath + "sprocket_front.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Fork", ProductNumber="FK-1639", SubcategoryId=10, Description="Stout design absorbs shock and offers more precise steering.", ListPrice=148.2200, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "fork_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Fork", ProductNumber="FK-5136", SubcategoryId=10, Description="Composite road fork with an aluminum steerer tube.", ListPrice=175.4900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "fork_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Fork", ProductNumber="FK-9939", SubcategoryId=10, Description="High-performance carbon road fork with curved legs.", ListPrice=229.4900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "fork_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Mountain Frame - Red, 42", ProductNumber="FR-M21S-42", SubcategoryId=12, Description="Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice=264.0500, Weight=2.92, Color="Silver", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Red, 44", ProductNumber = "FR-M21S-44", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 264.0500, Weight = 2.96, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Red, 48", ProductNumber = "FR-M21S-48", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 264.0500, Weight = 3.00, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Red, 52", ProductNumber = "FR-M21S-52", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 264.0500, Weight = 3.04, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Black, 42", ProductNumber = "FR-M21B-42", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 249.7900, Weight = 2.92, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Black, 44", ProductNumber = "FR-M21B-44", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 249.7900, Weight = 2.96, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Black, 48", ProductNumber = "FR-M21B-48", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 249.7900, Weight = 3.00, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Black, 52", ProductNumber = "FR-M21B-52", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 249.7900, Weight = 3.04, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Black, 40", ProductNumber = "FR-M21B-40", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 249.7900, Weight = 2.88, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "LL Mountain Frame - Red, 40", ProductNumber = "FR-M21S-40", SubcategoryId = 12, Description = "Our best value utilizing the same, ground-breaking frame technology as the ML aluminum frame.", ListPrice = 264.0500, Weight = 2.88, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame - Black, 38", ProductNumber = "FR-M63B-38", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Men's version.", ListPrice = 348.7600, Weight = 2.73, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame-W - Red, 40", ProductNumber = "FR-M63S-40", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Men's version.", ListPrice = 364.0900, Weight = 2.77, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame-W - Red, 42", ProductNumber = "FR-M63S-42", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Men's version.", ListPrice = 364.0900, Weight = 2.81, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame-W - Red, 46", ProductNumber = "FR-M63S-46", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Men's version.", ListPrice = 364.0900, Weight = 2.85, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame-W - Red, 38", ProductNumber = "FR-M63S-38", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Men's version.", ListPrice = 364.0900, Weight = 2.73, Color = "Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame - Black, 40", ProductNumber = "FR-M63B-40", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Women's version.", ListPrice = 348.7600, Weight = 2.77, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame - Black, 44", ProductNumber = "FR-M63B-44", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Women's version.", ListPrice = 348.7600, Weight = 2.81, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Mountain Frame - Black, 48", ProductNumber = "FR-M63B-48", SubcategoryId = 12, Description = "The ML frame is a heat-treated aluminum frame made with the same detail and quality as our HL frame. It offers superior performance. Women's version.", ListPrice = 348.7600, Weight = 2.85, Color = "Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg") });
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Red, 42", ProductNumber="FR-M94S-42", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1364.5000, Weight=2.72, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Red, 44", ProductNumber="FR-M94S-44", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1364.5000, Weight=2.76, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Red, 48", ProductNumber="FR-M94S-52", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1364.5000, Weight=2.80, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Red, 46", ProductNumber="FR-M94S-46", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1364.5000, Weight=2.84, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Black, 42", ProductNumber="FR-M94B-42", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1349.6000, Weight=2.72, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Black, 44", ProductNumber="FR-M94B-44", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1349.6000, Weight=2.76, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Black, 48", ProductNumber="FR-M94B-48", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1349.6000, Weight=2.80, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Black, 46", ProductNumber="FR-M94B-46", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1349.6000, Weight=2.84, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Black, 38", ProductNumber="FR-M94B-38", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1349.6000, Weight=2.68, Color="Black", ImageUri = new Uri(ImageServerPath + "hotrod_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Frame - Red, 38", ProductNumber="FR-M94S-38", SubcategoryId=12, Description="Each frame is hand-crafted in our Bothell facility to the optimum diameter and wall-thickness required of a premium mountain frame. The heat-treated welded aluminum frame has a larger diameter tube that absorbs the bumps.", ListPrice=1364.5000, Weight=2.68, Color="Red", ImageUri = new Uri(ImageServerPath + "hotrod_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame-W - Yellow, 38", ProductNumber = "FR-R72Y-38", SubcategoryId = 14, Description = "Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Women's version.", ListPrice = 594.8300, Weight = 2.18, Color = "Yellow", ImageUri = new Uri(ImageServerPath + "road_frame_yellow_large.jpg") });
            products.Add(new Product { Currency="USD", Title = "ML Road Frame-W - Yellow, 40", ProductNumber="FR-R72Y-40", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Women's version.", ListPrice=594.8300, Weight=2.22, Color="Yellow", ImageUri = new Uri(ImageServerPath + "road_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame-W - Yellow, 42", ProductNumber="FR-R72Y-42", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Women's version.", ListPrice=594.8300, Weight=2.26, Color="Yellow", ImageUri = new Uri(ImageServerPath + "road_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame-W - Yellow, 44", ProductNumber="FR-R72Y-44", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Women's version.", ListPrice=594.8300, Weight=2.30, Color="Yellow", ImageUri = new Uri(ImageServerPath + "road_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame-W - Yellow, 48", ProductNumber="FR-R72Y-48", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Women's version.", ListPrice=594.8300, Weight=2.34, Color="Yellow", ImageUri = new Uri(ImageServerPath + "road_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Mountain Front Wheel", ProductNumber="FW-M423", SubcategoryId=17, Description="Replacement mountain wheel for entry-level rider.", ListPrice=60.7450, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Mountain Front Wheel", ProductNumber="FW-M762", SubcategoryId=17, Description="Replacement mountain wheel for the casual to serious rider.", ListPrice=209.0250, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Front Wheel", ProductNumber="FW-M928", SubcategoryId=17, Description="High-performance mountain replacement wheel.", ListPrice=300.2150, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Front Wheel", ProductNumber="FW-R623", SubcategoryId=17, Description="Replacement road front wheel for entry-level cyclist.", ListPrice=85.5650, Weight=900.00, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Front Wheel", ProductNumber="FW-R762", SubcategoryId=17, Description="Sturdy alloy features a quick-release hub.", ListPrice=248.3850, Weight=850.00, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Front Wheel", ProductNumber="FW-R820", SubcategoryId=17, Description="Strong wheel with double-walled rim.", ListPrice=330.0600, Weight=650.00, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring Front Wheel", ProductNumber="FW-T905", SubcategoryId=17, Description="Aerodynamic rims for smooth riding.", ListPrice=218.0100, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Mountain Handlebars", ProductNumber="HB-M243", SubcategoryId=4, Description="All-purpose bar for on or off-road.", ListPrice=44.5400, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "handlebar_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Mountain Handlebars", ProductNumber="HB-M763", SubcategoryId=4, Description="Tough aluminum alloy bars for downhill.", ListPrice=61.9200, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "handlebar_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Handlebars", ProductNumber="HB-M918", SubcategoryId=4, Description="Flat bar strong enough for the pro circuit.", ListPrice=120.2700, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "handlebar_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "LL Road Handlebars", ProductNumber = "HB-R504", SubcategoryId = 4, Description = "Unique shape provides easier reach to the levers.", ListPrice = 44.5400, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "road_handlebar_large.jpg") });
            products.Add(new Product { Currency = "USD", Title = "ML Road Handlebars", ProductNumber = "HB-R720", SubcategoryId = 4, Description = "Anatomically shaped aluminum tube bar will suit all riders.", ListPrice = 61.9200, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "road_handlebar_large.jpg") });
            products.Add(new Product { Currency="USD", Title = "HL Road Handlebars", ProductNumber="HB-R956", SubcategoryId=4, Description="Designed for racers; high-end anatomically shaped bar from aluminum alloy.", ListPrice=120.2700, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "road_handlebar_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Handlebars", ProductNumber="HB-T721", SubcategoryId=4, Description="Unique shape reduces fatigue for entry level riders.", ListPrice=46.0900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "touring_handlebar_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Handlebars", ProductNumber="HB-T928", SubcategoryId=4, Description="A light yet stiff aluminum bar for long distance riding.", ListPrice=91.5700, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "touring_handlebar_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Headset", ProductNumber="HS-0296", SubcategoryId=11, Description="Threadless headset provides quality at an economical price.", ListPrice=34.2000, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "headset.jpg")});
            products.Add(new Product { Currency = "USD", Title = "ML Headset", ProductNumber = "HS-2451", SubcategoryId = 11, Description = "Sealed cartridge keeps dirt out.", ListPrice = 102.2900, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "headset.jpg") });
            products.Add(new Product { Currency="USD", Title = "HL Headset", ProductNumber="HS-3479", SubcategoryId=11, Description="High-quality 1\" threadless headset with a grease port for quick lubrication.", ListPrice=124.7300, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "headset.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Mountain Pedal", ProductNumber="PD-M282", SubcategoryId=13, Description="Expanded platform so you can ride in any shoes; great for all-around riding.", ListPrice=40.4900, Weight=218.00, Color="Silver/Black", ImageUri = new Uri(ImageServerPath + "pedal_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Mountain Pedal", ProductNumber="PD-M340", SubcategoryId=13, Description="Lightweight, durable, clipless pedal with adjustable tension.", ListPrice=62.0900, Weight=215.00, Color="Silver/Black", ImageUri = new Uri(ImageServerPath + "pedal_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Pedal", ProductNumber="PD-M562", SubcategoryId=13, Description="Stainless steel; designed to shed mud easily.", ListPrice=80.9900, Weight=185.00, Color="Silver/Black", ImageUri = new Uri(ImageServerPath + "pedal_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Pedal", ProductNumber="PD-R347", SubcategoryId=13, Description="Clipless pedals - aluminum.", ListPrice=40.4900, Weight=189.00, Color="Silver/Black", ImageUri = new Uri(ImageServerPath + "clipless_pedals_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Pedal", ProductNumber="PD-R563", SubcategoryId=13, Description="Lightweight aluminum alloy construction.", ListPrice=62.0900, Weight=168.00, Color="Silver/Black", ImageUri = new Uri(ImageServerPath + "clipless_pedals_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Pedal", ProductNumber="PD-R853", SubcategoryId=13, Description="Top-of-the-line clipless pedals with adjustable tension.", ListPrice=80.9900, Weight=149.00, Color="Silver/Black", ImageUri = new Uri(ImageServerPath + "clipless_pedals_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring Pedal", ProductNumber="PD-T852", SubcategoryId=13, Description="A stable pedal for all-day riding.", ListPrice=80.9900, Weight=0, Color="Silver/Black", ImageUri = new Uri(ImageServerPath + "clipless_pedals_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Rear Wheel", ProductNumber="RW-R762", SubcategoryId=17, Description="Aluminum alloy rim with stainless steel spokes; built for speed.", ListPrice=275.3850, Weight=1000.00, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Rear Wheel", ProductNumber="RW-R820", SubcategoryId=17, Description="Strong rear wheel with double-walled rim.", ListPrice=357.0600, Weight=890.00, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring Rear Wheel", ProductNumber="RW-T905", SubcategoryId=17, Description="Excellent aerodynamic rims guarantee a smooth ride.", ListPrice=245.0100, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Mountain Seat/Saddle", ProductNumber="SE-M236", SubcategoryId=15, Description="Synthetic leather. Features gel for increased comfort.", ListPrice=27.1200, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "mtn_seat.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Mountain Seat/Saddle", ProductNumber="SE-M798", SubcategoryId=15, Description="Designed to absorb shock.", ListPrice=39.1400, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "mtn_seat.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Seat/Saddle", ProductNumber="SE-M940", SubcategoryId=15, Description="Anatomic design for a full-day of riding in comfort. Durable leather.", ListPrice=52.6400, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "mtn_seat.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Seat/Saddle", ProductNumber="SE-R581", SubcategoryId=15, Description="Lightweight foam-padded saddle.", ListPrice=27.1200, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "road_seat.jpg")});
            products.Add(new Product { Currency = "USD", Title = "ML Road Seat/Saddle", ProductNumber = "SE-R908", SubcategoryId = 15, Description = "Rubber bumpers absorb bumps.", ListPrice = 39.1400, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "road_seat.jpg") });
            products.Add(new Product { Currency="USD", Title = "HL Road Seat/Saddle", ProductNumber="SE-R995", SubcategoryId=15, Description="Lightweight kevlar racing saddle. Leather.", ListPrice=52.6400, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "road_seat.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Seat/Saddle", ProductNumber="SE-T312", SubcategoryId=15, Description="Comfortable, ergonomically shaped gel saddle.", ListPrice=27.1200, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "touring_seat.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Touring Seat/Saddle", ProductNumber="SE-T762", SubcategoryId=15, Description="New design relieves pressure for long rides.", ListPrice=39.1400, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "touring_seat.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Seat/Saddle", ProductNumber="SE-T924", SubcategoryId=15, Description="Cut-out shell for a more comfortable ride.", ListPrice=52.6400, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "touring_seat.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Mountain Tire", ProductNumber="TI-M267", SubcategoryId=37, Description="Comparible traction, less expensive wire bead casing.", ListPrice=24.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "mb_tires_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Mountain Tire", ProductNumber="TI-M602", SubcategoryId=37, Description="Great traction, high-density rubber.", ListPrice=29.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "mb_tires_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Tire", ProductNumber="TI-M823", SubcategoryId=37, Description="Incredible traction, lightweight carbon reinforced.", ListPrice=35.0000, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "mb_tires_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Tire", ProductNumber="TI-R092", SubcategoryId=37, Description="Same great treads as more expensive tire with a less expensive wire bead casing.", ListPrice=21.4900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "street_tires_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Tire", ProductNumber="TI-R628", SubcategoryId=37, Description="Higher density rubber.", ListPrice=24.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "street_tires_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Tire", ProductNumber="TI-R982", SubcategoryId=37, Description="Lightweight carbon reinforced  for an unrivaled ride at an un-compromised weight.", ListPrice=32.6000, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "street_tires_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Touring Tire", ProductNumber = "TI-T723", SubcategoryId = 37, Description = "High-density rubber.", ListPrice = 28.9900, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "touring_tires_large.jpg") });
            products.Add(new Product { Currency="USD", Title = "Mountain Tire Tube", ProductNumber="TT-M928", SubcategoryId=37, Description="Self-sealing tube.", ListPrice=4.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "mtn_innertube_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Road Tire Tube", ProductNumber = "TT-R982", SubcategoryId = 37, Description = "Conventional all-purpose tube.", ListPrice = 3.9900, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "road_innertube_large.jpg") });
            products.Add(new Product { Currency="USD", Title = "Touring Tire Tube", ProductNumber="TT-T092", SubcategoryId=37, Description="General purpose tube.", ListPrice=4.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "innertube_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Black, 58", ProductNumber="FR-R38B-58", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.46, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Black, 60", ProductNumber="FR-R38B-60", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.48, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Black, 62", ProductNumber="FR-R38B-62", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.50, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Red, 44", ProductNumber="FR-R38R-44", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.32, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Red, 48", ProductNumber="FR-R38R-48", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.36, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Red, 52", ProductNumber="FR-R38R-52", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.40, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Red, 58", ProductNumber="FR-R38R-58", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.46, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Red, 60", ProductNumber="FR-R38R-60", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.48, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Red, 62", ProductNumber="FR-R38R-62", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.50, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Black, 44", ProductNumber="FR-R38B-44", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.32, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Black, 48", ProductNumber="FR-R38B-48", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.36, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Frame - Black, 52", ProductNumber="FR-R38B-52", SubcategoryId=14, Description="The LL Frame provides a safe comfortable ride, while offering superior bump absorption in a value-priced aluminum frame.", ListPrice=337.2200, Weight=2.40, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "ML Road Frame - Red, 44", ProductNumber="FR-R72R-44", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Men's version.", ListPrice=594.8300, Weight=2.22, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame - Red, 48", ProductNumber="FR-R72R-48", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Men's version.", ListPrice=594.8300, Weight=2.26, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame - Red, 52", ProductNumber="FR-R72R-52", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Men's version.", ListPrice=594.8300, Weight=2.30, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame - Red, 58", ProductNumber="FR-R72R-58", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Men's version.", ListPrice=594.8300, Weight=2.36, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Road Frame - Red, 60", ProductNumber="FR-R72R-60", SubcategoryId=14, Description="Made from the same aluminum alloy as our top-of-the line HL frame, the ML features a lightweight down-tube milled to the perfect diameter for optimal strength. Men's version.", ListPrice=594.8300, Weight=2.38, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Black, 58", ProductNumber="FR-R92B-58", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.24, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Red, 58", ProductNumber="FR-R92R-58", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.24, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Red, 62", ProductNumber="FR-R92R-62", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.30, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Red, 44", ProductNumber="FR-R92R-44", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.12, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Red, 48", ProductNumber="FR-R92R-48", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.16, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Red, 52", ProductNumber="FR-R92R-52", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.20, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Red, 56", ProductNumber="FR-R92R-56", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.24, Color="Red", ImageUri = new Uri(ImageServerPath + "road_frame_red_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Black, 62", ProductNumber="FR-R92B-62", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.30, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Black, 44", ProductNumber="FR-R92B-44", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.12, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Black, 48", ProductNumber="FR-R92B-48", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.16, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Road Frame - Black, 52", ProductNumber="FR-R92B-52", SubcategoryId=14, Description="Our lightest and best quality aluminum frame made from the newest alloy; it is welded and heat-treated for strength. Our innovative design results in maximum comfort and performance.", ListPrice=1431.5000, Weight=2.20, Color="Black", ImageUri = new Uri(ImageServerPath + "road_frame_black_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Yellow, 62", ProductNumber="FR-T67Y-62", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.20, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Blue, 50", ProductNumber="FR-T67U-50", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.10, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Blue, 54", ProductNumber="FR-T67U-54", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.14, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Blue, 58", ProductNumber="FR-T67U-58", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.16, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Blue, 62", ProductNumber="FR-T67U-62", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.20, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Yellow, 44", ProductNumber="FR-T67Y-44", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.02, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Yellow, 50", ProductNumber="FR-T67Y-50", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.10, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Yellow, 54", ProductNumber="FR-T67Y-54", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.14, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Yellow, 58", ProductNumber="FR-T67Y-58", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.16, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "LL Touring Frame - Blue, 44", ProductNumber="FR-T67U-44", SubcategoryId=16, Description="Lightweight butted aluminum frame provides a more upright riding position for a trip around town.  Our ground-breaking design provides optimum comfort.", ListPrice=333.4200, Weight=3.02, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Yellow, 60", ProductNumber="FR-T98Y-60", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=3.08, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Yellow, 46", ProductNumber="FR-T98Y-46", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=2.96, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Yellow, 50", ProductNumber="FR-T98Y-50", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=3.00, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Yellow, 54", ProductNumber="FR-T98Y-54", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=3.04, Color="Yellow", ImageUri = new Uri(ImageServerPath + "touring_frame_yellow_large.jpg")});            
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Blue, 46", ProductNumber="FR-T98U-46", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=2.96, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Blue, 50", ProductNumber="FR-T98U-50", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=3.00, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Blue, 54", ProductNumber="FR-T98U-54", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=3.04, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Touring Frame - Blue, 60", ProductNumber="FR-T98U-60", SubcategoryId=16, Description="The HL aluminum frame is custom-shaped for both good looks and strength; it will withstand the most rigorous challenges of daily riding. Men's version.", ListPrice=1003.9100, Weight=3.08, Color="Blue", ImageUri = new Uri(ImageServerPath + "touring_frame_blue_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Taillights - Battery-Powered", ProductNumber="LT-T990", SubcategoryId=33, Description="Affordable light for safe night riding - uses 3 AAA batteries", ListPrice=13.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "tail_lights_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Road Bottle Cage", ProductNumber="BC-R205", SubcategoryId=28, Description="Aluminum cage is lighter than our mountain version; perfect for long distance trips.", ListPrice=8.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "water_bottle_cage_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Water Bottle - 30 oz.", ProductNumber="WB-H098", SubcategoryId=28, Description="AWC logo water bottle - holds 30 oz; leak-proof.", ListPrice=4.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "water_bottle_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Hitch Rack - 4-Bike", ProductNumber="RA-H123", SubcategoryId=26, Description="Carries 4 bikes securely; steel construction, fits 2\" receiver hitch.", ListPrice=120.0000, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "hitch_rack.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Fender Set - Mountain", ProductNumber = "FE-6654", SubcategoryId = 30, Description = "Clip-on fenders fit most mountain bikes.", ListPrice = 21.9800, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "mtn_fender_set.jpg") });
            products.Add(new Product { Currency="USD", Title = "Mountain Bike Socks, M", ProductNumber="SO-B909-M", SubcategoryId=23, Description="Combination of natural and synthetic fibers stays dry and provides just the right cushioning.", ListPrice=9.5000, Weight=0, Color="White", ImageUri = new Uri(ImageServerPath + "mtn _socks.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Mountain Bike Socks, L", ProductNumber = "SO-B909-L", SubcategoryId = 23, Description = "Combination of natural and synthetic fibers stays dry and provides just the right cushioning.", ListPrice = 9.5000, Weight = 0, Color = "White", ImageUri = new Uri(ImageServerPath + "mtn _socks.jpg") });
            products.Add(new Product { Currency="USD", Title = "Minipump", ProductNumber="PU-0452", SubcategoryId=36, Description="Designed for convenience. Fits in your pocket. Aluminum barrel. 160psi rated.", ListPrice=19.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "handpump_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Men's Bib-Shorts, S", ProductNumber="SB-M891-S", SubcategoryId=18, Description="Designed for the AWC team with stay-put straps, moisture-control, chamois padding, and leg grippers.", ListPrice=89.9900, Weight=0, Color="Multi", ImageUri = new Uri(ImageServerPath + "shorts_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Men's Bib-Shorts, M", ProductNumber="SB-M891-M", SubcategoryId=18, Description="Designed for the AWC team with stay-put straps, moisture-control, chamois padding, and leg grippers.", ListPrice=89.9900, Weight=0, Color="Multi", ImageUri = new Uri(ImageServerPath + "shorts_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Men's Bib-Shorts, L", ProductNumber="SB-M891-L", SubcategoryId=18, Description="Designed for the AWC team with stay-put straps, moisture-control, chamois padding, and leg grippers.", ListPrice=89.9900, Weight=0, Color="Multi", ImageUri = new Uri(ImageServerPath + "shorts_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Touring-Panniers, Large", ProductNumber="PA-T100", SubcategoryId=35, Description="Durable, water-proof nylon construction with easy access. Large enough for weekend trips.", ListPrice=125.0000, Weight=0, Color="Grey", ImageUri = new Uri(ImageServerPath + "touring_panniers.jpg")});
            products.Add(new Product { Currency="USD", Title = "Half-Finger Gloves, S", ProductNumber="GL-H102-S", SubcategoryId=20, Description="Full padding, improved finger flex, durable palm, adjustable closure.", ListPrice=24.4900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "half_finger_gloves.jpg")});
            products.Add(new Product { Currency="USD", Title = "Half-Finger Gloves, M", ProductNumber="GL-H102-M", SubcategoryId=20, Description="Full padding, improved finger flex, durable palm, adjustable closure.", ListPrice=24.4900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "half_finger_gloves.jpg")});
            products.Add(new Product { Currency="USD", Title = "Half-Finger Gloves, L", ProductNumber="GL-H102-L", SubcategoryId=20, Description="Full padding, improved finger flex, durable palm, adjustable closure.", ListPrice=24.4900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "half_finger_gloves.jpg")});            
            products.Add(new Product { Currency="USD", Title = "Women's Mountain Shorts, S", ProductNumber="SH-W890-S", SubcategoryId=22, Description="Heavy duty, abrasion-resistant shorts feature seamless, lycra inner shorts with anti-bacterial chamois for comfort.", ListPrice=69.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "shorts_female_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Women's Mountain Shorts, M", ProductNumber="SH-W890-M", SubcategoryId=22, Description="Heavy duty, abrasion-resistant shorts feature seamless, lycra inner shorts with anti-bacterial chamois for comfort.", ListPrice=69.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "shorts_female_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Women's Mountain Shorts, L", ProductNumber="SH-W890-L", SubcategoryId=22, Description="Heavy duty, abrasion-resistant shorts feature seamless, lycra inner shorts with anti-bacterial chamois for comfort.", ListPrice=69.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "shorts_female_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Patch Kit/8 Patches", ProductNumber="PK-7098", SubcategoryId=37, Description="Includes 8 different size patches, glue and sandpaper.", ListPrice=2.2900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "tirepatch_kit_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Classic Vest, S", ProductNumber="VE-C304-S", SubcategoryId=25, Description="Light-weight, wind-resistant, packs to fit into a pocket.", ListPrice=63.5000, Weight=0, Color="Blue", ImageUri = new Uri(ImageServerPath + "classic_vest.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Classic Vest, M", ProductNumber = "VE-C304-M", SubcategoryId = 25, Description = "Light-weight, wind-resistant, packs to fit into a pocket.", ListPrice = 63.5000, Weight = 0, Color = "Blue", ImageUri = new Uri(ImageServerPath + "classic_vest.jpg") });
            products.Add(new Product { Currency = "USD", Title = "Classic Vest, L", ProductNumber = "VE-C304-L", SubcategoryId = 25, Description = "Light-weight, wind-resistant, packs to fit into a pocket.", ListPrice = 63.5000, Weight = 0, Color = "Blue", ImageUri = new Uri(ImageServerPath + "classic_vest.jpg") });
            products.Add(new Product { Currency="USD", Title = "Men's Sports Shorts, S", ProductNumber="SH-M897-S", SubcategoryId=22, Description="Men's 8-panel racing shorts - lycra with an elastic waistband and leg grippers.", ListPrice=59.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "bike_shorts_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Men's Sports Shorts, M", ProductNumber="SH-M897-M", SubcategoryId=22, Description="Men's 8-panel racing shorts - lycra with an elastic waistband and leg grippers.", ListPrice=59.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "bike_shorts_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Men's Sports Shorts, L", ProductNumber="SH-M897-L", SubcategoryId=22, Description="Men's 8-panel racing shorts - lycra with an elastic waistband and leg grippers.", ListPrice=59.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "bike_shorts_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Men's Sports Shorts, XL", ProductNumber="SH-M897-X", SubcategoryId=22, Description="Men's 8-panel racing shorts - lycra with an elastic waistband and leg grippers.", ListPrice=59.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "bike_shorts_male_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "All-Purpose Bike Stand", ProductNumber = "ST-1401", SubcategoryId = 27, Description = "Perfect all-purpose bike stand for working on your bike at home. Quick-adjusting clamps and steel construction.", ListPrice = 159.0000, Weight = 0, Color = "saphire", ImageUri = new Uri(ImageServerPath + "bike_stand.jpg") });
            products.Add(new Product { Currency="USD", Title = "Headlights - Dual-Beam", ProductNumber="LT-H902", SubcategoryId=33, Description="Rechargeable dual-beam headlight.", ListPrice=34.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "double_headlight_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Headlights - Weatherproof", ProductNumber="LT-H903", SubcategoryId=33, Description="Rugged weatherproof headlight.", ListPrice=44.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "double_headlight_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Short-Sleeve Classic Jersey, S", ProductNumber="SJ-0194-S", SubcategoryId=21, Description="Short sleeve classic breathable jersey with superior moisture control, front zipper, and 3 back pockets.", ListPrice=53.9900, Weight=0, Color="Yellow", ImageUri = new Uri(ImageServerPath + "awc_tee_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Short-Sleeve Classic Jersey, M", ProductNumber="SJ-0194-M", SubcategoryId=21, Description="Short sleeve classic breathable jersey with superior moisture control, front zipper, and 3 back pockets.", ListPrice=53.9900, Weight=0, Color="Yellow", ImageUri = new Uri(ImageServerPath + "awc_tee_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Short-Sleeve Classic Jersey, L", ProductNumber="SJ-0194-L", SubcategoryId=21, Description="Short sleeve classic breathable jersey with superior moisture control, front zipper, and 3 back pockets.", ListPrice=53.9900, Weight=0, Color="Yellow", ImageUri = new Uri(ImageServerPath + "awc_tee_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Short-Sleeve Classic Jersey, XL", ProductNumber="SJ-0194-X", SubcategoryId=21, Description="Short sleeve classic breathable jersey with superior moisture control, front zipper, and 3 back pockets.", ListPrice=53.9900, Weight=0, Color="Yellow", ImageUri = new Uri(ImageServerPath + "awc_tee_male_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Bike Tee Shirt", ProductNumber = "SJ-0194-XL", SubcategoryId = 21, Description = "Woodinville bicycle tee shirt.", ListPrice = 24.9900, Weight = 0, Color = "Yellow", ImageUri = new Uri(ImageServerPath + "woodinville_bicycle.jpg") });
            products.Add(new Product { Currency="USD", Title = "Mountain Pump", ProductNumber="PU-M044", SubcategoryId=36, Description="Simple and light-weight. Emergency patches stored in handle.", ListPrice=24.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "bikepump_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Racing Socks, M", ProductNumber="SO-R809-M", SubcategoryId=23, Description="Thin, lightweight and durable with cuffs that stay up.", ListPrice=8.9900, Weight=0, Color="White", ImageUri = new Uri(ImageServerPath + "race_socks.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Racing Socks, L", ProductNumber = "SO-R809-L", SubcategoryId = 23, Description = "Thin, lightweight and durable with cuffs that stay up.", ListPrice = 8.9900, Weight = 0, Color = "White", ImageUri = new Uri(ImageServerPath + "race_socks.jpg") });
            products.Add(new Product { Currency="USD", Title = "Mountain Bottle Cage", ProductNumber="BC-M005", SubcategoryId=28, Description="Tough aluminum cage holds bottle securly on tough terrain.", ListPrice=9.9900, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "water_bottle_cage_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "AWC Logo Cap", ProductNumber = "CA-1098", SubcategoryId = 19, Description = "Traditional style with a flip-up brim; one-size fits all.", ListPrice = 8.9900, Weight = 0, Color = "Multi", ImageUri = new Uri(ImageServerPath + "logo_cap.jpg") });
            products.Add(new Product { Currency="USD", Title = "Long-Sleeve Logo Jersey, S", ProductNumber="LJ-0192-S", SubcategoryId=21, Description="Unisex long-sleeve AWC logo microfiber cycling jersey", ListPrice=49.9900, Weight=0, Color="Multi", ImageUri = new Uri(ImageServerPath + "awc_jersey_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Long-Sleeve Logo Jersey, M", ProductNumber="LJ-0192-M", SubcategoryId=21, Description="Unisex long-sleeve AWC logo microfiber cycling jersey", ListPrice=49.9900, Weight=0, Color="Multi", ImageUri = new Uri(ImageServerPath + "awc_jersey_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Long-Sleeve Logo Jersey, L", ProductNumber="LJ-0192-L", SubcategoryId=21, Description="Unisex long-sleeve AWC logo microfiber cycling jersey", ListPrice=49.9900, Weight=0, Color="Multi", ImageUri = new Uri(ImageServerPath + "awc_jersey_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Long-Sleeve Logo Jersey, XL", ProductNumber="LJ-0192-X", SubcategoryId=21, Description="Unisex long-sleeve AWC logo microfiber cycling jersey", ListPrice=49.9900, Weight=0, Color="Multi", ImageUri = new Uri(ImageServerPath + "awc_jersey_male_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "Sport-100 Helmet, Red", ProductNumber="HL-U509-R", SubcategoryId=31, Description="Universal fit, well-vented, lightweight , snap-on visor.", ListPrice=34.9900, Weight=0, Color="Red", ImageUri = new Uri(ImageServerPath + "sport_helmet_red.jpg")});
            products.Add(new Product { Currency="USD", Title = "Sport-100 Helmet, Black", ProductNumber="HL-U509", SubcategoryId=31, Description="Universal fit, well-vented, lightweight , snap-on visor.", ListPrice=34.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "sport_helmet_red.jpg")});
            products.Add(new Product { Currency="USD", Title = "Sport-100 Helmet, Blue", ProductNumber="HL-U509-B", SubcategoryId=31, Description="Universal fit, well-vented, lightweight , snap-on visor.", ListPrice=34.9900, Weight=0, Color="Blue", ImageUri = new Uri(ImageServerPath + "sport_helmet_red.jpg")});
            products.Add(new Product { Currency="USD", Title = "Hydration Pack - 70 oz.", ProductNumber="HY-1023-70", SubcategoryId=32, Description="Versatile 70 oz hydration pack offers extra storage, easy-fill access, and a waist belt.", ListPrice=54.9900, Weight=0, Color="Silver", ImageUri = new Uri(ImageServerPath + "hydration_pack.jpg")});
            products.Add(new Product { Currency="USD", Title = "Women's Tights, S", ProductNumber="TG-W091-S", SubcategoryId=24, Description="Warm spandex tights for winter riding; seamless chamois construction eliminates pressure points.", ListPrice=74.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "tights_female.jpg")});
            products.Add(new Product { Currency="USD", Title = "Women's Tights, M", ProductNumber="TG-W091-M", SubcategoryId=24, Description="Warm spandex tights for winter riding; seamless chamois construction eliminates pressure points.", ListPrice=74.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "tights_female.jpg")});
            products.Add(new Product { Currency="USD", Title = "Women's Tights, L", ProductNumber="TG-W091-L", SubcategoryId=24, Description="Warm spandex tights for winter riding; seamless chamois construction eliminates pressure points.", ListPrice=74.9900, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "tights_female.jpg")});
            products.Add(new Product { Currency="USD", Title = "Bike Wash - Dissolver", ProductNumber="CL-9009", SubcategoryId=29, Description="Washes off the toughest road grime; dissolves grease, environmentally safe. 1-liter bottle.", ListPrice=7.9500, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "bike_wash.jpg")});
            products.Add(new Product { Currency="USD", Title = "Cable Lock", ProductNumber="LO-C100", SubcategoryId=34, Description="Wraps to fit front and rear tires, carrier and 2 keys included.", ListPrice=25.0000, Weight=0, Color="saphire", ImageUri = new Uri(ImageServerPath + "bike_lock_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Mountain Rear Wheel", ProductNumber="RW-M423", SubcategoryId=17, Description="Replacement mountain wheel for entry-level rider.", ListPrice=87.7450, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "ML Mountain Rear Wheel", ProductNumber="RW-M762", SubcategoryId=17, Description="Replacement mountain wheel for the casual to serious rider.", ListPrice=236.0250, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "HL Mountain Rear Wheel", ProductNumber="RW-M928", SubcategoryId=17, Description="High-performance mountain replacement wheel.", ListPrice=327.2150, Weight=0, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency="USD", Title = "LL Road Rear Wheel", ProductNumber="RW-R623", SubcategoryId=17, Description="Replacement road rear wheel for entry-level cyclist.", ListPrice=112.5650, Weight=1050.00, Color="Black", ImageUri = new Uri(ImageServerPath + "wheel_large.jpg")});
            products.Add(new Product { Currency = "USD", Title = "Rear Derailleur", ProductNumber = "RD-2308", SubcategoryId = 9, Description = "Wide-link design.", ListPrice = 121.4600, Weight = 215.00, Color = "Silver", ImageUri = new Uri(ImageServerPath + "sprocket_large.jpg")});
            return products;
        }

        private static IEnumerable<Product> GetTodaysDeals()
        {
            var promotedProducts = new List<Product>();
            promotedProducts.Add(_products.First(p => p.ProductNumber == "BK-M38S-42"));
            promotedProducts.Add(_products.First(p => p.ProductNumber == "BK-R19B-52"));
            promotedProducts.Add(_products.First(p => p.ProductNumber == "FK-9939"));
            promotedProducts.Add(_products.First(p => p.ProductNumber == "FR-M94S-42"));
            promotedProducts.Add(_products.First(p => p.ProductNumber == "HB-M243"));
            return promotedProducts;
        }
    }
}